def getFunctions(self, prefix):
    return dict([(name[len(prefix):], getattr(self,name)) for name in dir(self) if name.startswith(prefix)])

def dynload(filename):
    from fileServer import fileServer
    
    if type(filename) != str: return filename
    
    assert filename.split('.')[0] in fileServer.dirs, "system %s not loaded" % filename.split('.')[0]
    
    moduleName = filename.split('.')[-1]
    className = moduleName[:1].upper() + moduleName[1:]
    
    try:
        module = __import__(filename,fromlist=moduleName)
    except ImportError:
        return None
    
    return getattr(module,className)
    
    #if hasattr(module,className):
        #return getattr(module,className)
    #else:
        #return None
